package cn.wolfcode.mapper;

import cn.wolfcode.domain.Role;
import cn.wolfcode.qo.QueryObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色
 */

public interface RoleMapper {
    //    根据id查询角色
    int deleteByPrimaryKey(Long id);

    //    添加角色
    int insert(Role record);

    //    根据id查询角色
    Role selectByPrimaryKey(Long id);

    //    查询所有
    List<Role> selectAll();

    //    更新角色
    int updateByPrimaryKey(Role record);

    //    根据用户名查询角色
    List<Role> selectByEid(Long eid);

    //    根据条件查询角色数量
    int countPage(QueryObject qo);

    //    根据条件查询角色
    List<Role> selectAllByQO(QueryObject qo);

    //    根据角色id删除权限
    void deleteRelation(Long rid);

    //    添加角色关联
    void insertRelation(@Param("rid") Long rid, @Param("pid") Long pid);

    /**
     * 根据员工id查询员工的角色别名
     *
     * @param eid
     * @return
     */
    List<String> selectSnByEid(Long eid);
}